package com.ycMc.service;

import com.ycMc.bean.request.OrderDetailRequest;
import com.ycMc.bean.request.OrderRequest;
import com.ycMc.bean.response.ChartResponse;
import com.ycMc.common.bean.PageBean;
import com.ycMc.common.bean.Response;
import com.ycMc.domain.Order;
import com.ycMc.domain.OrderDetail;
import com.ycMc.domain.User;

import java.util.List;

/**
 * Created by libo2 on 2017/8/23.
 */
public interface OrderService {

    public void insert(Order order);

    public Response insertOrdersByProductIds(OrderDetailRequest request,User user);

    public void update(Order order);

    public void updateOrderDetail(OrderDetailRequest request);

    public void delete(String orderId);

    public List<Order> selectAll();

    public List<Order> select(Order order);

    public PageBean query(String userId,int currentPage,int pageSize,int orderState,int taxStatus,long startTime,long endTime,String orderId,String shoppingAddress,String userPhone,String realName);

    public List<Order> selectByUserId(String userId);

    public Order selectOne(String orderId);
    /*订单详情*/
    public List<OrderDetail> selectOrderDetailByOrderId(String orderId);

    public ChartResponse getChartByProductBrand(User user);

    public ChartResponse getChartByProductId(User user);

    public ChartResponse getChartByYears(User user);

    public ChartResponse getChartByMonths(User user);

    public ChartResponse getChartByDays(User user);

}
